package com.team.recruitment_management_system.service;

import com.team.recruitment_management_system.pojo.dto.role.AddRoleDto;
import com.team.recruitment_management_system.pojo.dto.role.ChangeRoleInfoDto;
import com.team.recruitment_management_system.pojo.dto.role.RolePageQuery;
import com.team.recruitment_management_system.pojo.entity.SysRole;
import com.baomidou.mybatisplus.extension.service.IService;
import com.team.recruitment_management_system.pojo.vo.OptionVo;
import com.team.recruitment_management_system.pojo.vo.RoleInfoVo;
import com.team.recruitment_management_system.util.result.PageResult;
import com.team.recruitment_management_system.util.result.Result;

import java.util.List;

/**
* @author 86147
* @description 针对表【sys_role(角色表)】的数据库操作Service
* @createDate 2024-03-21 20:28:40
*/
public interface SysRoleService extends IService<SysRole> {
    Result<RoleInfoVo> getRoleById(int id);

    PageResult<RoleInfoVo> getRolePage(RolePageQuery rolePageQuery);

    Result<Void> addRole(AddRoleDto addRoleDto);

    Result<Void> updateRole(ChangeRoleInfoDto changeRoleInfoDto);

    Result<Void> changeRoleStatus(Long id,boolean isDisabled);

    Result<Void> deleteRole(Long id);

    Result<List<OptionVo>> getRoleOptions();
}
